﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void testDynamicLinkedList()
{
	//14.初始化链表；
	struct LinkedNode* header = Init_LinkList();//1,2,3,-1 --> 100,200,300,400,500,600,-1
	//15.打印链表；
	Foreach_LinkList(header);//1,2,3 --> 100,200,300,400,500,600
	//24.插入数据；
	//InsertByValue_LinkList(header, 300, 666);
	InsertByValue_LinkList(header, 700, 666);
	printf("-----------------------------------\n");
	//15.打印链表；
	Foreach_LinkList(header);//1,2,3 --> 100,200,666,300,400,500,600 --> 100,200,300,400,500,600，666

	//38.逆序链表；
	Reverse_LinkList(header);
	printf("----------------39.逆序链表后的数据；-------------------\n");
	//15.打印链表；
	Foreach_LinkList(header);//666,600,500,400,300,200,100


	//26.清空链表；
	Clear_LinkList(header);
	printf("-----------------------------------\n");
	//15.打印链表；
	Foreach_LinkList(header);

	InsertByValue_LinkList(header, 700, 111);
	InsertByValue_LinkList(header, 700, 211);
	InsertByValue_LinkList(header, 700, 311);
	InsertByValue_LinkList(header, 700, 411);
	printf("-----------------------------------\n");
	//15.打印链表；
	Foreach_LinkList(header);//111,211,311,411

	//31.删除值为211的结点；
	RemoveByValue_LinkList(header, 211);
	printf("-----------------------------------\n");
	//15.打印链表；
	Foreach_LinkList(header);//111,311,411

	//32.销毁链表；
	Destroy_LinkList(header);
}

//main215：动态链表
int main215()
{
	testDynamicLinkedList();

	system("pause");
	return EXIT_SUCCESS;
}